<?php

class Zones extends Table
{
    // Ecrit le tableau des zones
    public static function Tableau($db)//-------------------------------------------------
    {
        $sql="SELECT zon_id, zon_code, zon_nom".
            ' FROM zones';
        $champs = array ('zon_code', 'zon_nom');
        $msg_vide = LNG_ZON_VIDE;
		return parent::Tableau($db, $sql, $champs, $msg_vide, true); 
    }//------------------------------------------------------------------Tableau

    public static function Select($db, $idexclu=-1)
    {
        $sql="SELECT zon_id, zon_code, zon_nom".
            ' FROM zones'.
            " WHERE zon_id!=$idexclu".
            ' ORDER BY zon_code ASC';
        if ($result = $db->query($sql))
		{
			if ( $result->num_rows<1 )
				return False;
			$retour = Array();
			while ( $row = $result->fetch_assoc() )
				$retour[] = Array (	$row['zon_id'],
									$row['zon_code'].' - '.$row['zon_nom']);
			return $retour;
		}
		return False;
    }
    
    
	public static function Mailing($db, $id){
		return parent::Mailing($db, $id, 'zones');	
	}

}

class Zone extends Enregistrement
{
	// Constructeur
	function __construct($db)//-------------------------------------------------
	{
		$this->defaut = Array('zon_id' 	=> -1,
						'zon_code' 		=> '',					
						'zon_nom' 		=> '');						
		parent::__construct($db, 'zones', 'zon_id');
	}//--------------------------------------------------------------__construct

	// Verification des attributs via la base
	function Verification()//---------------------------------------------------
	{
		// Verif de l'unicité du code
		$this->erreurs['zon_code'] = '';
		if ( trim($this->attribut['zon_code']) == '' )
			$this->erreurs['zon_code'] = LNG_CHAMP_OBLIGATOIRE;
		if ( trim($this->attribut['zon_nom']) == '' )
			$this->erreurs['zon_nom'] = LNG_CHAMP_OBLIGATOIRE;
		else
		{
			if ( !$this->db->Unique('zones', 'zon_code', $this->attribut['zon_code'], 'zon_id', $this->attribut['zon_id'] ) )
				$this->erreurs['zon_code'] .= LNG_CODEEXISTANT;
		}		
		return $this->erreurs;
	}//-------------------------------------------------------------Verification

	function NomFormat()
	{
		return parent::NomFormat('zon_nom');
	}

	function Contenu($erreur,$onglet=0, $edition=False)//-----------------------
	{
		switch ($onglet)
		{
			case 0:
				$h4 = LNG_H4_INFORMATIONS;
				if ( droit_modifier(GR_ZON_MODIF, $edition) )
					$h4 .= Liens::ZonModifier($this->cle());
?>
<form method='post' action='zone.php?<?="id={$this->cle()}&edition=$edition"?>'>
<?php
				dohtml_h4($h4);
				$this->ChampText('zon_code', $edition);
				$this->ChampText('zon_nom', $edition);
				if ($edition)
					dohtml_formbouton('labelagauche', 'Mettre à jour', 'maj_infos', 'Annuler');
?>
</form>
<?php
				break;
		}
	}
}

?>
